#ifndef __ToolRotateObject_h_
#define __ToolRotateObject_h_
#include <iostream>
#include <Ogre.h>
#include <CEGUI/CEGUISystem.h>
#include <OIS/OIS.h>
#include "Tools/Tool.h"
#include "Actions/ActionSelectObject.h"
#include "Actions/ActionRotateObject.h"
#include "Actions/ActionMoveCamera.h"
#include "Actions/ActionScaleObject.h"
#include "MapEditor.h"

class ToolRotateObject: public Tool
{
	public:
		ToolRotateObject(Ogre::Camera *mCam, Ogre::SceneManager *ScrMgr, Ogre::RaySceneQuery* ray);
		~ToolRotateObject();

		void mouseMoved(const OIS::MouseEvent &arg);
		void mousePressed(const OIS::MouseEvent &evt);
		void updateGraphics(const Ogre::FrameEvent &evt);
		void keyPressed(const OIS::KeyEvent &evt);
		void keyReleased(const OIS::KeyEvent &evt);

	private:

		bool objectSelected;
		ActionSelectObject *select;
		ActionMoveCamera *moveCam;
		ActionRotateObject *rotateObject;
		ActionScaleObject *scale;
};
#endif 